FIG. 1 is a schematic diagram of a network 100 of nodes (e.g., computing devices) interacting in a peer-to-peer (P2P) manner. Generally, a requesting node 101 sends a search message 105 (e.g., containing keywords relating to data that the requesting node 101 wishes to locate) to at least one intermediate node 111 in communication with the requesting node 101 via a peer connection. The intermediate node 111 receives the search message 105 and forwards the search message 105 to at least one additional node 111. Eventually, the search message 105 reaches at least one responding node 103 having the requested data (in some cases, the first intermediate node 111 to which the search message 105 is forwarded will also be a responding node 103). At least one responding node 103 then sends a response message 107 back to the requesting node 101, e.g., via the intermediate nodes 111. The requesting node 101 then requests the relevant data from a responding node 103 by connecting directly to the responding node 103, e.g., via direct connection 109.
Conventional P2P transactions such as that described above are relatively anonymous or semi-anonymous events; users including the requesting node 101 and the responding node 103 typically know very little about one another. Thus, it is very difficult to ascertain the trustworthiness of another user if one has had no prior dealings with the user. There is therefore a certain amount of risk involved in dealing with other network users.
Thus, there is a need in the art for a method and apparatus for establishing P2P karma and trust.